# MySQL 文章数据模型  
# ngrok http http://localhost:9122
from django.db import models
from tanxi.models.mysql.mysql_user_model import UserModel

class ArticleModel(models.Model):
    # 文章ID（自动递增主键）
    id = models.AutoField(primary_key=True, verbose_name='文章ID')

    # 标题
    title = models.CharField(max_length=200, verbose_name='标题')

    # 内容
    content = models.TextField(verbose_name='内容')

    # 发布时间
    publish_time = models.DateTimeField(auto_now_add=True, verbose_name='发布时间')
    # 发布状态
    is_published = models.BooleanField(default=False,verbose_name='是否发布')

    # 作者ID（外键，关联到用户模型的 user_id 字段）
    author = models.ForeignKey(
        UserModel,
        on_delete=models.CASCADE,
        related_name='articles',
        verbose_name='作者ID',
        to_field='user_id'  # 显式指定关联到 user_id 字段
    )

    # 阅读次数
    read_count = models.PositiveIntegerField(default=0, verbose_name='阅读次数')

    # 文章标签（JSON 格式存储）
    tags = models.JSONField(default=list, verbose_name='文章标签')

    # 更新时间
    updated_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')

    # 元数据
    class Meta:
        db_table = 'articles'  # 自定义表名为 articles
        verbose_name = '文章'  # 单数形式
        verbose_name_plural = '文章'  # 复数形式
        ordering = ['-publish_time']  # 按发布时间倒序排列

    def __str__(self):
        return self.title